home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 126-150 / disk_138 / amigaline / amigaline5 < prev    next >
Text File  |  1992-05-06  |  6KB  |  162 lines

  1.             Technical Note #5
  2.       Why recoverable ram disks don't on the A2000/A500
  3.  
  4. SUMMARY
  5.  
  6. $ 5/0 Why recoverable ram disks don't on the A2000/A500
  7. $ release
  8. $ 9-Jan-88 Bryce Nesbitt / BDI
  9. $ recoverable ram disk, VD0:, VDK:, boot, reset, $C00000 memory, setalert, bug
  10.  
  11.     Recoverable ram disks are used by most programmers.  Normally these
  12. come back to life after a crash or reset.  All too often on the A2000 and
  13. expanded A500 the disk won't come back.
  14.  
  15. ----------------------------------------------------------------------------
  16.  
  17. THE PROBLEM
  18.  
  19.     These problems affect only "$C00000" memory.  Three examples of this
  20. type of memory are:
  21.  
  22. 1> Half of the 1 Meg of memory in an A2000.
  23. 2> The memory that sits in the pocket underneath the A500.
  24. 3> Expansion products such as the PAL, Spirit and Insider board for the
  25. A1000.
  26.  
  27.     Other memory is not affected.
  28.  
  29.  
  30.     The problem is not the hardware controlling the memory, it is the
  31. software.  The system executive (exec) sees a crash or reset in at least
  32. two different ways:
  33.  
  34.  1> WARM boot.    The system has already been set up, just do some cleanup
  35. and start over.
  36.  2> COLD Boot.    Reset everything and wipe out local memory (including
  37. CHIP and $C00000).
  38.  
  39.     The fact that it ever wipes local memory to zero is the fundamental
  40. bug.   The problem is compounded by the fact that it will be fooled into a
  41. cold boot by several factors:
  42.  
  43.  1>  If someone tries to post a "Recoverable" Alert.  For example, the
  44. AmigaDOS Replacement project does this if it can't find it's library. This
  45. will crash the machine right away.
  46.  2>  If you have more than 512K of chip memory.  (lucky you!)
  47.  3>  If something writes to memory and happens to corrupt it in the area
  48. that exec keeps a checksum for.
  49.  4>  If some naugty programmer patches a library routine without using the
  50. "SetFunction()" function.
  51.  
  52.  
  53. SOLUTIONS
  54.  
  55.     Problem #1 can be fixed with a ram patch written be Andy Finkel of
  56. Commdore.  This is attached at the end of this document.
  57.  
  58.     The next three problems are stickier, and will probably need to wait
  59. until the next Kickstart revision for a complete fix.  For owners of an
  60. A1000 with Kickstart disk, the "Transactor Amiga Magazine" will probably
  61. publish a set of patches soon.    Everyone else is left out in the cold.    A
  62. ram patch is possible, but had not been made available as of this writing.
  63.  
  64.     The US address of the Transactor is:
  65.  
  66.     The Trasactor
  67.     PO Box 338 Station "C"
  68.     Buffalo, NY  14209-9990
  69.     Telephone: (416) 764-5273
  70.  
  71.     As of this writing, 1 year of "Transactor for the Amiga" was $15.
  72.  
  73.  
  74. WHERE TO GET A RECOVERABLE RAM DISK (RRD)
  75.  
  76.     There are two.  Both with the same low price of just $10:
  77.  
  78.       1) VD0: - The first RRD ever.  Available from free software sources.
  79.         Suggested $10 donation.
  80.       2) VDK: - This program is from Expansion Technologies and it is
  81.         a commercial program. (It is also know as SURVIVOR).
  82.         Costs $10 from:
  83.  
  84.               EXPANSION TECHNOLOGIES
  85.               46127 Landing Parkway
  86.               Fremont, CA    94538
  87.  
  88.       This program has the advantage that it will try and avoid $C00000
  89.       memory if possilbe.  Obviously this feature is only of use if you
  90.       have both $C00000 memory and some other non-affected types.
  91.  
  92.  
  93. SETALERT PROGRAM
  94.  
  95.     This needs to be decoded with the "uudecode" program from Fish disk
  96. #53.  After RUNing it, your computer will be safe from the recoverable
  97. Alert() bug.
  98.  
  99. begin 644 setalert.ld
  100. M```#\P`````````.``````````T```"#````:P```!4````2````D@```!0`,
  101. M```(```````````````/````$````````````````````^D```"#(\\````<D
  102. M(\`````D(\@````H+'D````$(\X````$D\E.KO[:*$!*K`"L9P``]F$``;J1\
  103. MR"`L`*SEB"`P"!#EB$CG`#!%^0```*Q'^0```"P@0'``$!A",`@`)L@@.0``P
  104. M`"0@>0```"A#\`@`#"$`(%+(__I"*0`!$AAG7`P!`"!G]@P!``EG\";*#`$`-
  105. M(F<4%,$2&&="#`$`(&<$%,%@\D(:8-02&&<P#`$`(F?R#`$`*F8@$A@,`0!.?
  106. M9P8,`0!N9@1R"F`.#`$`16<&#`$`968"<AL4P6#,0A)"DR`\````*)"+1H#D5
  107. MB$S?#`!(>0```"PO`$ZY````'"/`````$$ZY````+"/`````%"/`````&$ZY=
  108. M`````'``+GD````<3G5A``#&80``L"/`````("\`0J<D0"`J`"1G$"QY````W
  109. M""!`(B@``$ZN_X(B*@`@9R@D/````^U.KO_B(\`````0(\`````4(\`````8\
  110. M9PKEB"!`*6@`"`"D3KD`````<`!@!"`O``0N>0```!PO`"QY````!"`Y````=
  111. M"&<&(D!.KOYB2KD````@9PY.KO]\(GD````@3J[^AB`?3G5(YP$&+CP``X`'I
  112. M+'@`!$ZN_Y1,WV"`<&1@L$'L`%Q.KOZ`0>P`7$ZN_HQ.=4/Z`!)P`$ZN_=@CN
  113. MP`````AGPDYU9&]S+FQI8G)A<GD```````/L````&`````$```'V```!L@``/
  114. M`:8```&8```!B@```6H```%D```!7@```3X```$L```!'````0X```$(````;
  115. M_````.X```#>````9````%X```!,````1@```!H````.````"`````(````"0
  116. M`````@```10```%\`````0````D```$"`````0````D```#V`````````_(`6
  117. M``/J````:P`A``$```````````````#_______________\`````````````N
  118. M
  119. M
  120. M
  121. M
  122. M
  123. M
  124. M
  125. M
  126. M```````````````````````````````````````````#\@```^D````52.<P5
  127. M`"0O``P@+P`0)CD````$3KD`````+SP`````2'G___^4+P-.N0```"1*@D_O,
  128. M``QG#DAY`````$ZY`````%B/0J=.N0```!!8CTS?``Q.=0`````#[`````$`!
  129. M```#````-@````$````*````1@````$````&````/`````$````*````%```L
  130. M``$````$````&@````$````*````*`````$````!````#@````````/R```#:
  131. MZ@```!)!;&5R="!S970*``!#;W!Y<FEG:'0@,3DX-R`@0V]M;6]D;W)E+4%M<
  132. M:6=A+"!);F,N($%L;"!2:6=H=',@4F5S97)V960```````/R```#Z0```)(S5
  133. M_$```-_PFB`\2$5,4+"X``!G``!P(<```$'X`0`@QR#5(#@`!`@```!F6"Q`N
  134. MT*X`)E*`9DX@//'BT\0O`+"?9CA*AVL^0>X"`B#'(-5A``"8`H?__P``9A!*5
  135. M@$SX__\!@&8``2Q.[O^.2JX!)FP(,_S```#?\)I.=2Y\``0``$*G0F<`.0`#)
  136. M`+_B`0(Y`/X`O^`!(?P```"<`"!&_"<`<@4S_`%T`-_P,G#_"/D``0"_X`%1[
  137. MR/_V"+D``0"_X`%1R/_V,#D`W_`8,_P(``#?\)P"``!_#```?U?)_\YK``"PS
  138. M+P=.[O^.2.<A,G(*</]1R/_^4<G_^B0N`@)P_[2`9W9/[_\X1]=!^@"N(`)(1
  139. M0`P```%F!D'Z`(I@#@@"`!]F"$I`9P1!^@"E85I!^@"U851"&T'Z`-1#[@("9
  140. M1?H`0DZN_?9#^@#C<`!.KOW82H!G&"9.+$!"@$'7<BA.KO^F)$`B3BQ+3J[^4
  141. M8D_O`,A"N```</\M0`("(`I,WTR$3G46P$(33G5"&Q;89OQ0VTYU(#P``@``1
  142. M4X!N_$YP('@`!$[0)@].;W0@96YO=6=H(&UE;6]R>2X@`"8/4V]F='=A<F4@H
  143. M1F%I;'5R92X@`"8/4F5C;W9E<F%B;&4@06QE<G0N(`#J#U!R97-S(&QE9G0@,
  144. M;6]U<V4@8G5T=&]N('1O(&-O;G1I;G5E+@".'D=U<G4@365D:71A=&EO;B`C;
  145. M)3`X;'@N)3`X;'@`:6YT=6ET:6]N+FQI8G)A<GD`86QE<G0N:&]O:PT*````D
  146. M`^P````!````!````)8````````#\@```^D````42.<`.BAO`!0@;P`8(F\`+
  147. M'$7Z`#I/[_]T)D\L>0````1.KOWV</]*&U?(__Q&@&<2+P!(;P`$2%1.N0``-
  148. M``!/[P`,3^\`C$S?7`!.=1;`3G4```/L`````0````D````Z`````````_(`?
  149. M``/I````""\")"\`"$AO``PO`B\Y````%$ZY`````$_O``PD'TYU```#[```V
  150. M``$````%````%`````$````!````#@````````/R```#Z@````````/R```#$
  151. MZ0````````/R```#Z0````](YS`"+'D````(3.\`#@`03J[_T$S?0`Q.=0``%
  152. M+PXL>0````A.KO_*+%].=2\.+'D````(3J[_Q"Q?3G4```/L`````P````$`G
  153. M```&````(````#`````````#\@```^D````0+PXL>0````1.KO]\+%].=2\.O
  154. M+'D````$("\`"$ZN_L(L7TYU+PXL>0````0B;P`((&\`#"`O`!!.KOY<+%].R
  155. M=0```^P````#`````0````0````4````*`````````/R```#Z@````````/R_
  156. 8```#Z@````````/R```#Z@````````/R$
  157. ``
  158. end
  159. size 2544
  160.  
  161.  
  162.